1. Field
The present disclosure relates generally to communication, and more specifically to techniques for detecting the presence of a terminal in a data session.
2. Background
Wireless and wireline communication networks are widely deployed to provide various communication services such as voice, video, packet data, messaging, broadcast, multimedia, and so on. Each service may have different characteristics and requirements. For example, a packet data call may be bursty in nature but may be able to tolerate variable and long delay. In contrast, a voice call may generate data at regular intervals and may have a relatively stringent delay requirement.
Multiple terminals may establish a data session via one or more networks to exchange real-time data such as voice, video, and so on. For example, the data session may be for a teleconference call between multiple participants located at different sites. During the data session, each terminal may send data to other terminals if and when there is data to send. The data exchanges between the terminals may be sporadic. Furthermore, the data session may last a long time, and terminals may join and leave the data session at any time during the session. Because of the dynamic nature of the data session, it may be desirable to ascertain whether a given terminal is still present in the data session.
Various schemes are available to ascertain whether a given terminal is present in a data session. In one scheme, each terminal sends idle packets periodically during the data session to notify other terminals of the presence of the sending terminal. This scheme may result in many idle packets being sent, which may be highly undesirable for a wireless network since radio resources are scarce. Furthermore, idle packets may not be defined for all types of media, e.g., images, text, and so on. In another scheme, each terminal periodically generates and sends reports to other terminals. These reports may convey information regarding packets that have been sent and/or packets that have been received by the terminal sending the report. These reports may be sent infrequently (e.g., every 5 seconds) and may be lost due to packet errors. In yet another scheme, a timer is maintained for each terminal in the data session and is refreshed periodically. If the timer for a terminal expires, then that terminal is deemed to have left the data session. The timer is typically set to a large value to reduce the refresh rate, which then takes a long time to detect the absence of a terminal in the data session. Furthermore, network resources are utilized to maintain the timers for the terminals. In general, all of the schemes described above for detecting the presence of terminals in the data session consume network resources and are not very efficient.
There is therefore a need in the art for techniques to efficiently detect the presence of a terminal in a data session.